抽象層主要是非卡牌層級的東西,把它區隔開來是方便劃分範圍,在實作的時候比較不會搞混在一起。
我當初在設計的時候,是按照一些分類方法把我需要實作的東西區分開來。
一開始先把「看得見的東西」實作出來,再來就開始弄「看不見的規則」。這時候就要開始弄各式各樣的觸發、判定。
例如:
這些部份通常會需要「事件監聽器」、「觸發器」來協助實作。然後一旦場面上有重複的監聽器、觸發器時,需要小心檢查在程式運作時,會不會互相干擾?不小心造成無限觸發的BUG?
當你把這些區分開來,在實作的時候,會減少不少麻煩。
遊戲中使用「群組」的方式檢查對象是否符合?在開發上還蠻方便的。
大致以上方向,實作尚以這幾個面向下去處理,我想問題會變簡單一些。
這系列差不多也要寫到尾聲了,後面遊戲的部份大略講一下自己的實作經驗。大概會講解中間有哪些需要注意的?然後我自己是用什麼架構處理問題?接下來,我想講講自己中間是用什麼樣的方式一步步把遊戲內容做出來?然後推薦一些幫助專案開發的工具。也希望想要開發卡牌遊戲的人在這系列文得到一些開發養分,幫助你們開發出自己心目中的卡牌遊戲。